x86: annotate VM applicability in featureset
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 8 Apr 2016 20:29:44 +0000 (22:29 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 8 Apr 2016 20:29:44 +0000 (22:29 +0200)
commit78803f9719925b572d5c0bf48cffa447356e3b91
tree4e4301e13c108ad9aeeba3535e26acd4950085af
parent2d8bd3561626d59698dfe19afa04781e4e0bbf5d
x86: annotate VM applicability in featureset

Use attributes to specify whether a feature is applicable to be exposed to:
 1) All guests
 2) HVM guests
 3) HVM HAP guests
and, via absence of an attribute, to no guests.

There is no current need for other categories (e.g. PV-only features), and
such categories should not be introduced if possible.  These categories follow
from the fact that, with increased hardware support, a guest gets more
features to use.

These settings are derived from the existing code in {pv,hvm}_cpuid(), and
xc_cpuid_x86.c.  One notable exception is EXTAPIC which was previously
erroneously exposed to guests.  PV guests don't get to use the APIC and the
HVM APIC emulation doesn't support extended space.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/include/public/arch-x86/cpufeatureset.h
xen/tools/gen-cpuid.py